// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

export X := Rectangle {
//       ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    animate x { easing: ease-in; }
    animate y { easing: foo; }
//                      ^error{Unknown unqualified identifier 'foo'}
    animate background { easing: a; }
//                               ^error{Cannot convert int to easing}
    property <int> a; animate a { easing: cubic-bezier(0.01,1.46,0.94,1.37); }
    property <int> b; animate b { easing: cubic-bezier(0.01,1.46,0.94); }
//                                        ^error{Not enough arguments}
    property <int> c; animate c { easing: cubic-bezier(); }
//                                        ^error{Not enough arguments}
    property <int> d; animate d { easing: cubic-bezier(0,0,0,0,0,0); }
//                                                             ^error{Too many argument for bezier curve}
    property <int> e; animate e { easing: cubic-bezier(0, a, b, c); }
//                                                        ^error{Arguments to cubic bezier curve must be number literal}
    property <int> f; animate f { easing: cubic-bezier(0,0+0,0,0,0); }
//                                                       ^error{Arguments to cubic bezier curve must be number literal}
}
